package com.gjintel.framework.dict.service;

import java.util.List;

import com.gjintel.framework.dict.model.Dictionary;
import com.gjintel.sdk.base.dao.Page;
import com.gjintel.sdk.base.dao.Sort;
import com.gjintel.sdk.base.service.IBaseService;
import com.gjintel.sdk.dto.TreeDto;

/**
 * @description 数据字典的业务处理接口
 * @author fengya
 * @date 2015-7-23 上午10:36:03
 */
public interface IDictService extends IBaseService {
	/**
	 * @description 根据节点获得节点下的子孩子信息
	 * @author fengya
	 * @date 2015-7-23 上午10:36:52
	 * @param treeList
	 * @param id
	 * @param nodeName
	 * @param selectIds
	 * @param isDictionaryTreeDialog
	 * @return
	 * @return List<String>
	 */
	List<String> getDictionaryTree(List<TreeDto> treeList, String id, String nodeName, String selectIds, boolean isDictionaryTreeDialog);

	/**
	 * @description 根据条件查询数据字典信息
	 * @author fengya
	 * @date 2015-7-23 上午10:37:41
	 * @param page
	 * @param dict
	 * @param sort
	 * @return void
	 */
	@SuppressWarnings("unchecked")
	void findAll(Page page, Dictionary dict, Sort sort);

	/**
	 * @description 根据选择的节点进行删除节点
	 * @author fengya
	 * @date 2015-7-23 上午10:38:10
	 * @param deleteIds
	 * @throws Exception
	 * @return void
	 */
	void removeData(String deleteIds);

	/**
	 * @description
	 * @author fengya
	 * @date 2015-9-16 下午03:57:31
	 * @return
	 * @return List<Dictionary>
	 */
	List<Dictionary> findAll();
}
